home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 2
/
Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso
/
Pearls
/
psion
/
src.doc
/
unsorted
/
xopl1
/
extpow.opl
< prev
next >
Wrap
Text File
|
1984-04-08
|
1KB
|
60 lines
proc extpow:
global tcb%,tstat%,tint&
global kstat%,key%(2)
nonactv:
ioopen(tcb%,"TIM:",-1)
quetim:
quekey:
iosignal :rem force first iowait to return at once
do
iowait
if tstat%=0 :rem timer expired
quetim:
elseif kstat%=0 :rem keypress received
if key%(1)=27 :rem ESCAPE
stop
elseif key%(1)>=%1 and key%(1)<=%9
setauto:(60*(key%(1)-%0))
elseif key%(1)=%0
setauto:(-1) :rem disable switch-off
endif
quekey:
endif
print right$(datim$,8),
print "Power:",getextp%:,
print "Auto off:",getauto%:
until 0
endp
proc quetim:
tint&=100 :rem 10 seconds from now
ioa(tcb%,1,tstat%,#addr(tint&),#0) :rem P_FRELATIVE
endp
proc quekey:
keya(kstat%,key%(1)) :rem queue keyboard read
endp
proc nonactv:
rem Don't keep the machine on just because of this app
call ($138b,0,0,0,0,0) :rem GenMarkNonActive
endp
proc getextp%:
rem returns 1 if mains present, else 0
local esup%(3),bx%
bx%=addr(esup%())
call ($118e,bx%,0,0,0,0) :rem HwGetSupplyStatus
return(esup%(3))
endp
proc getauto%:
rem returns auto-switch off time, in seconds
return call($178b,0,0,0,0,0) :rem GenGetAutoSwitchOffValue
endp
proc setauto:(aut%)
rem sets the auto-switch off time, in seconds
call($188b,aut%,0,0,0,0) :rem GetSetAutoSwitchOffValue
endp